/*
 *
 *
 */

#include "window_opcode.h"
#include "window_hotkey.h"

#ifdef GKT_CONFIG_WINDOW_HOTKEY_MAP_TABLE

typedef struct _window_hotkey_map_item {
	uint32_t	key_value;
	uint32_t	opcode;
} window_hotkey_map_item_s;

#define WINDOW_HOTKEY_MAP(_key_value, _opcode_name)	\
	{	\
		.key_value	= _key_value,	\
		.opcode	= WINDOW_OPCODE_##_opcode_name,	\
	}

static const window_hotkey_map_item_s sc_window_hotkey_map_items[] = {
	GKT_CONFIG_WINDOW_HOTKEY_MAP_TABLE
};
static const uint32_t sc_window_hotkey_map_items_num = 
	sizeof(sc_window_hotkey_map_items) / sizeof(window_hotkey_map_item_s);

void window_hotkey_handler(uint32_t hotkey_value)
{
	const window_hotkey_map_item_s *c_map_item;
	uint32_t i;

	for (i = 0; i < sc_window_hotkey_map_items; i++) {
		c_map_item = &sc_window_hotkey_map_items[i];
		if (c_map_item->key_value == hotkey_value) {
			window_opcode_handler(c_map_item->opcode);
			break;
		}
	}
	
}

#endif

